﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Telerik.Web.UI;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CompanyManagement
{
    public class GridFilterMenuTranslate
    {
        public static void TranslateGridFilterMenu(ref RadGrid radGrid)
        {
            GridFilterMenu menu = radGrid.FilterMenu;
            foreach (RadMenuItem item in menu.Items)
            {    //change the text for the "StartsWith" menu item  
                if (item.Text == "NoFilter")
                {
                    item.Text = "Không Lọc";
                }
                if (item.Text == "Contains")
                {
                    item.Text = "Chứa Từ Này";
                }
                if (item.Text == "DoesNotContain")
                {
                    item.Text = "Không Chứa Từ Này";
                }
                if (item.Text == "StartsWith")
                {
                    item.Text = "Bắt Đầu Với";
                }
                if (item.Text == "EndsWith")
                {
                    item.Text = "Kết Thúc Bằng";
                }
                if (item.Text == "EqualTo")
                {
                    item.Text = "Bằng Với";
                }
                if (item.Text == "NotEqualTo")
                {
                    item.Text = "Không Bằng Với";
                }
                if (item.Text == "GreaterThan")
                {
                    item.Text = "Lớn Hơn";
                }
                if (item.Text == "LessThan")
                {
                    item.Text = "Nhỏ Hơn";
                }
                if (item.Text == "GreaterThanOrEqualTo")
                {
                    item.Text = "Lớn Hơn Hoặc Bằng";
                }
                if (item.Text == "LessThanOrEqualTo")
                {
                    item.Text = "Nhỏ Hơn Hoặc Bằng";
                }
                if (item.Text == "Between")
                {
                    item.Text = "Thuộc Khoảng Giữa";
                }
                if (item.Text == "NotBetween")
                {
                    item.Text = "Không Thuộc Khoảng Giữa";
                }
                if (item.Text == "IsEmpty")
                {
                    item.Text = "Là Rỗng";
                }
                if (item.Text == "NotIsEmpty")
                {
                    item.Text = "Không Rỗng";
                }
                if (item.Text == "IsNull")
                {
                    item.Text = "Không Tồn Tại";
                }
                if (item.Text == "NotIsNull")
                {
                    item.Text = "Tồn Tại";
                }
            }

            foreach (GridColumn itemColumn in radGrid.Columns)
            {
                itemColumn.CurrentFilterFunction = GridKnownFunction.Contains;
                itemColumn.AutoPostBackOnFilter = true;
                //itemColumn.ShowFilterIcon = false;
            }
            //radGrid.EnableLinqExpressions = true;
            //radGrid.ItemCommand += new GridCommandEventHandler(radGrid_ItemCommand);
        }

        static void radGrid_ItemCommand(object sender, GridCommandEventArgs e)
        {
            //RadGrid RadGrid1 = (RadGrid)sender;
            //if (e.CommandName == RadGrid.FilterCommandName)
            //{
            //    Pair filterPair = (Pair)e.CommandArgument;
            //    if (filterPair.First.ToString() == "Custom")
            //    {
            //        string colName = filterPair.Second.ToString();
            //        TextBox tbPattern = (e.Item as GridFilteringItem)[colName].Controls[0] as TextBox;
            //        string[] values = tbPattern.Text.Split(' ');
            //        if (values.Length == 2)
            //        {
            //            e.Canceled = true;
            //            string newFilter = "(([" + filterPair.Second + "] >='" + values[0] + "') AND ([" + filterPair.Second + "] <='" + values[1] + "'))";
            //            if (RadGrid1.MasterTableView.FilterExpression == "")
            //            {
            //                RadGrid1.MasterTableView.FilterExpression = newFilter;
            //            }
            //            else
            //            {
            //                RadGrid1.MasterTableView.FilterExpression = "((" + RadGrid1.MasterTableView.FilterExpression + ") AND (" + newFilter + "))";
            //            }
            //            RadGrid1.Rebind();
            //        }
            //    }
            //}

            //if (e.CommandName == RadGrid.FilterCommandName)
            //{
            //    Pair filterPair = (Pair)e.CommandArgument;
            //    if (filterPair.First.ToString() == "Custom")
            //    {
            //        string colName = filterPair.Second.ToString();
            //        TextBox tbPattern = (e.Item as GridFilteringItem)[colName].Controls[0] as TextBox;
            //        string values = tbPattern.Text;
            //        e.Canceled = true;
            //        string newFilter = "(it." + colName + " LIKE N\'%" + values + "%\')";
            //        RadGrid1.MasterTableView.FilterExpression = newFilter;
            //        if(RadGrid1.DataSourceIsAssigned)
            //        RadGrid1.Rebind();
            //    }
            //}
        }
    }
}